//== SAGITTARIUS ============================================================================

//== BEGINNING OF CODE ===============================================================

#ifndef __SAGUTTARUIS__LEXSYMTAB__H_
#define __SAGUTTARUIS__LEXSYMTAB__H_

//== INCLUDES ========================================================================

#include "sagittarius/core/SagittariusCore.h"
#include "sagittarius/lexer/lAST.h"
#include "sagittarius/patterns/radixtree.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
    radixnode* r;
} lsymtab;

void lex_initSymTab(lsymtab* tab);
void lex_destroySymTab(lsymtab* tab);

int lex_installSymbol(lsymtab* tab, constLexBuf sym, lASTNode* expr);

#ifdef __cplusplus
}//extern "C"
#endif

#endif
